[C语言]怎么把一段输入转换为数组

来源:百度知道 编辑:UC知道 时间:2024/07/06 21:55:34
输入分两行,第一行是一个数组长度,比如:"6"
第二行要输入数组内容,一空格分开,比如:"12 31 11 4 21 16"
程序要建一个数组,a[6],让a[6]={12,31,11,4,21,16};

如果这个比较难,可以建一个固定长度的数组,比如a[50],然后让前6项等于{12,31,11,4,21,16}

#include <stdio.h>
#include <stdlib.h>

int main ()
{
int n, i;
int *a;
scanf ("%d", &n); /*读入n*/
a = (int*) malloc (sizeof(int)*n); /*申请n整数的空间*/
for (i = 0; i < n; i ++) /*依次读入每一个元素*/
scanf ("%d", &a[i]);
.
. /*其他代码,比如对a的引用之类的*/
.
.
free (a); /*最后要释放空间*/

}

纯C语法

#include <stdio.h>

int main()
{
int n;
scanf("%d", &n);
int arr[n];
int i;
for (i = 0; i < n; ++i)
{
scanf("%d", &arr[i]);
}
return 0;
}

正如你所说的,对于这种情况,首先就是开一个比较大的数组,然后再输入数组的长度.
代码:

#include<stdio.h>
void main()
{
int i,n,a[50];
scanf("